package com.jonas.jgraph.graph;

import android.content.Context;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.v4.content.ContextCompat;
import android.util.AttributeSet;

import com.jonas.jgraph.R;
import com.jonas.jgraph.models.Jchart;

import java.util.ArrayList;
import java.util.List;

/**
 * @author xujiang
 * @version 2017-07-07 10:54
 *
 *          背景颜色通过xml设置
 */
public class MJcoolGraph extends JcoolGraph {

    public MJcoolGraph(Context context) {
        this(context, null);
    }

    public MJcoolGraph(Context context, AttributeSet attrs) {
        this(context, attrs, 0);
    }

    public MJcoolGraph(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        init();
    }

    private void init() {

        Paint paintAbsicssa = getPaintAbsicssa();  // 横纵轴文字画笔
        paintAbsicssa.setColor(ContextCompat.getColor(getContext(), R.color.white));
        setNeedY_abscissMasg(false); //隐藏纵坐标
        setShowAbscissa(false);  // 隐藏横坐标
        setAbscissaMsgSize(0);  //设置横州文字大小等于0
        Paint paintCoordinate = getPaintCoordinate();  // 设置横轴画笔颜色
        paintCoordinate.setColor(ContextCompat.getColor(getContext(), R.color.white));
        paintCoordinate.setStrokeWidth(1f);
        Paint paintAbscisDash = getPaintAbscisDash();  // 虚线画笔
        paintAbscisDash.setColor(ContextCompat.getColor(getContext(), R.color.white));
        setLinePointRadio((int) getLineWidth() * 2);  //设置小圆点半径 （必须的 不设没有小圆点）
        Paint paint = getmLinePaint();  // 画线的paint
        paint.setColor(ContextCompat.getColor(getContext(), R.color.white));
        setSelectedMode(StateConstant.SELECETD_MSG_SHOW_TOP);  // 选中模式开启
        Paint selectedTextBg = getSelectedTextBg();  // 画选中背景的画笔
        selectedTextBg.setColor(ContextCompat.getColor(getContext(), R.color.white));
        Paint selectedTextPaint = getSelectedTextPaint();  // 选中文字的画笔
        selectedTextPaint.setColor(Color.BLACK);
        setScrollAble(true);  // 设置可以滚动
        setFollowingottom(10);   // 横线距离下方的距离

    }

    public void setData() {
        List<Jchart> lines = new ArrayList<>();
        for (int i = 0; i < 5; i++) {
            Jchart jchart = new Jchart(i, (float) 0); //(float) 0
            lines.add(jchart);
        }
        feedData(lines);   //设置数据
        setEmpty(false);   // 隐藏线上小圆点
        setNeedY_abscissMasg(false);  //隐藏y信息
        setSelectedMode(StateConstant.SELECETD_NULL);  //不可选中
        setShowDottedLine(false);  // 隐藏虚线
        setShowAbscissa(false);  // 隐藏横坐标
    }

}
